﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BaseDataType
{
    // internal 是一个访问修饰符，只能在程序集中进行访问。
    // public 可以在任何地方访问。
    // private 只能在自己的类或结构中访问。
    // protected 成员可以在其自己的类或派生它的子类中访问。
    // private protected 成员可以在其自己的类或派生它的子类中访问，或在定义它的过程集中访问。
    // protected internal 成员可以在其自己的类、派生自它的子类或定义它的程序集中访问。
    internal class IntegerDemo
    {

        /// <summary>
        /// 测试整数类型
        /// </summary>
        public void testint()
        {
            // 数字
            byte? a = 9; // 无符号
            sbyte? _a = -6; // 有符号

            short? b = -12; // 有符号
            ushort? _b = 22; // 无符号

            int c = -98; // 有符号
            uint _c = 98; // 无符号

            long d = 908776;
            ulong _d = 89898; // 无符号

            // 声明了一个可为null的变量，赋值，和默认值。当_b 为null的时候，赋值5.
            // 有点类似三目运算符的作用。
            // 前提是，_b 也要是可空类型。
            ushort? us = _b ?? 5;

            Console.WriteLine(us);
        }
    }
}
